Data Groups

With few exceptions, data groups must be defined in a device template file in order for them to be available for use on a remote device. Which data groups are defined by a device template file depends on protocol, device type, and unique configuration.

CygNet distributes sample device template files for its EIEs, each of which typically serves one or more hardware models along with applicable firmware. Therefore, the data groups described in the table below are only those data groups defined by CygNet in sample device template file(s). Your template(s) might not include some of the data groups described below. Device template files exist to enable users to customize device configurations; however, CygNet is not responsible for changes made by users.

For information about data group definitions and device template files, see Device Template Files.

Notes:

DNP3 EIE Data Groups

Data Group Type Usage Notes

AllPoints

The "All Points (Class 0)" data group gets all Class 0 static data values. When this data group is polled, CygNet point updates are made to any mapped deids in instantiated data groups with a matching ptId.

Note: The "All Points (Class 0)" data group can be huge — it will get a data value for every single DNP3 item (AI, AO, DI, DO, counter, string, etc…).

CfgDg

The "Configurable Data Group" data group provides a flexible way to create custom data groups on a per-device basis. See Configurable Data Group for more information.

DateTime

The "Date and Time" data group retrieves the field device's current time and can be used to sync it to the host's current time.

Event

The "Events" data group gets events by class (1, 2, 3) or by point type. The point type option provides a drop-down menu listing variations available for the chosen point type. When this data group is polled, CygNet point updates are made to any mapped deids in instantiated data groups with a matching ptId. See Polling Notes for more information.

IntInd

The "Internal Indications" data group displays the IIN values obtained when reading/writing other data groups. The data group is composed of 16 Internal Indication bits that indicate a combination of whether events are available, whether the device needs time, the device status, whether there is an event overflow condition, and the success or failure of a specific request. The IIN bits are part of the header of every packet received from the device and are described in the following table:

IIN Bit Mapping

Bit Description Point ID
IIN1.0 All Stations IIN.0
IIN1.1 Events Class 1 IIN.1
IIN1.2 Events Class 2 IIN.2
IIN1.3 Events Class 3 IIN.3
IIN1.4 Need Time IIN.4
IIN1.5 Local Control IIN.5
IIN1.6 Device Trouble IIN.6
IIN1.7 Device Restart IIN.7
IIN2.0 Bad Function Code IIN.8
IIN2.1 Bad Object IIN.9
IIN2.2 Bad Parameter IIN.10
IIN2.3 Event Overflow IIN.11
IIN2.4 Executing IIN.12
IIN2.5 Config Corrupt IIN.13
IIN2.6 Reserved 2 IIN.14
IIN2.7 Reserved 1 IIN.15

The "Internal Indications" data group can also be used to clear the "Restart" bit (IIN.7).

See Device Template File Items for more information.

SinglePt

The "Single Point" data group reads from or writes to a point on demand. See Single Point Data Group for more information.

Note: It is recommended that you use this data group to write analog output and binary output values.

DNP3 User-Defined Data Group Types

The DNP3 protocol allows users to define data groups using point types in combination with another data group element. See Point Types for more information.

Point Type-based Data Group

A Point Type-based data group that has the attribute dgPtType="XX" in the device template file will get all values of that point type. It may optionally specify the group variation number. The default variation is 0, indicating that the device determines which variation to return. The dgElements element for this data group type includes a point index (ptIndex) attribute. The configuration for these data groups is dictated by a specific device and load and are read-only.

The following example data group displays data group PointAI and the values specified for each point index.

Generic Data Group

In a generic data group type, each data group element includes a Point ID consisting of point type and index. The point type and index are represented in a DNP3 device template file as ptId. These data groups can be read and/or written. The generic data group type is available to any remote device that is capable of handling requests for individual point IDs. In edit mode, a Send only edited items check box displays on the View Data dialog box, and when selected, only the edited values are written to the DDS transaction.

Note: For generic data groups using the String point type, string length ("Len") is required on a Send.

The following example data group displays the ptId for various point types.

Data Groups for File Processing

A data group that contains the attribute dgCat="File" reads data from a file. When the name of the file is known, it should be represented in the device template file using the fileName data group attribute. A file name can contain these substitution strings: %ordinal%, %facilityid%, and %deviceid%. When the name of the file varies beyond the scope of the substitution strings, it must be provided using the FileName UIS command parameter.

A file data group is always read-only. It can be ordinalized, and can represent an array of records. When an array of records is represented in the file, the length attribute is used to specify the number of bytes in a single record.

Each dgElement element for this data group type includes the attribute off as an offset into the file. The data bytes that represent the contents of the file are interpreted based on the offset values. For example, an offset attribute of off="4" indicates the value is at byte 4.

The following are examples of data groups used for file processing. The FileSeq example is the simplest. It has a fixed file name, and contains three data elements. The FileHstCfg example is ordinalized and includes the wildcard %ordinal% in the fileName attribute. It also contains an array of records; each record is 91 bytes long. The FileSeqTm example has a variable file name, so the fileName is omitted from the device template file, and a UIS command with the parameter FileName is required.

Back to top